Use case: Write and read DMA operations ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
/* Write DMA data operation -------------------- */
HAL_SDRAM_Write_DMA(&hsdram,
(uint32_t *)(device_address),
data_to_write,
BufferSize
);
/* Wait for complete callback */
/* Read DMA data operation */
HAL_SDRAM_Read_DMA(&hsdram,
(uint32_t *)(device_address),
data_read,
BufferSize
);
/* Wait for complete callback */
|
/* Write DMA data operation */
HAL_DMA_StartDirectXfer_IT(&dma_handle,
data_to_write,
(uint32_t *)(device_address),
BufferSize
);
/* Wait for complete callback */
/* Read DMA data operation */
HAL_DMA_StartDirectXfer_IT(&dma_handle,
(uint32_t *)(device_address),
data_read,
BufferSize
);
/* Wait for complete callback */
|
Key changes ¶
HAL2 uses generic HAL DMA direct transfer APIs for SDRAM DMA operations.
HAL2 return status can be
HAL_INVALID_PARAMfor invalid configuration/parameters.

